package chapter_22_state.classic.state;

import chapter_22_state.classic.context.Context;

/**
 * Created by yao on 2016/10/11.
 * 具体状态类1；
 */
public class ConcreateState1 extends State {

    /**
     * 状态类1，可以执行handle1()方法
     */
    @Override
    public void handle1(String param) {
        System.out.println("ConcreateState1处理:"+param);
    }

    /**
     * 状态类1，没有执行handle2()方法的能力，所以将context的状态设置为STATE2后，由context交由状态类2来执行
     */
    @Override
    public void handle2(String param) {
        //设置当前状态为state2
        context.setCurrentState(Context.STATE2);

        //过度到state2状态，由Context实现
        super.context.handle2(param);
    }

}
